#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include "../user/udp_mavlink.h"
#include <QThread>
QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT
public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

public slots: //定时任务
    void logic();
    void ui_refsh();
    void send_data();
public slots: //消息处理
    void message_plain_set(const QByteArray *data, const uint8_t len) const;

private :
void set_button_color();
    void set_mode();
    void set_data_list();


private slots: //ui响应

    void on_pm1_show_overflow();

    void on_pm2_show_overflow();

    void on_pm1_valueChanged(int value);

    void on_pm2_valueChanged(int value);

    void on_fb_valueChanged(int value);

    void on_lr_valueChanged(int value);

    void on_udp_add_textEdited(const QString &arg1);

    void on_udp_port_textEdited(const QString &arg1);

    void on_udp_localport_textEdited(const QString &arg1);

    void on_wall_clicked(bool checked);

    void on_fool_clicked(bool checked);

    void on_cam_clicked(bool checked);

    void on_rc_clicked(bool checked);

    void on_un_lock_stateChanged(int arg1);

    void on_gamepad_ctrl_stateChanged(int arg1);

    void on_clean_plain_clicked() const;

    void on_clean_flow_int_clicked();


    void on_open_charts_clicked();

public:
    enum {
        wall_mode = 62,
        fool_mode = 63,
        carmera  =82,
        rc_ctrl = 90
    }clean_mode;

private:
    bool work_status;//当前是否在工作状态 也就是是否解锁
    bool mode_status[4]; // 工作 模式 状态
    bool gamepad_ok; //使用游戏手柄
    float * data_list[10]; //数据显示列表 最多显示10个数据
    uint8_t data_list_len; //数据列表长度
    uint16_t rc_channel[8]; //遥控通道
    Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
